Nacitani komponent z DFM souboru
Otázka od: Jiri Bouchala
24. 11. 2004 14:05
Potrebuji nacist nektere komponenty - jejich vlastnosti ze souboru form.dfm
a umistit je na TTabSheet v jinem formulari.
Poradte mi jak na to. Dik.
Odpovedá: Petr Vetesnik
25. 11. 2004 6:26
Pokud to staci v prostredi a ne pri behu programu,
pak staci CTRL+C a CTRL+V.
Petr
> Potrebuji nacist nektere komponenty - jejich vlastnosti ze souboru form.dfm
> a umistit je na TTabSheet v jinem formulari.
> Poradte mi jak na to. Dik.
>
>
Odpovedá: Jiri Bouchala
25. 11. 2004 8:28
No tak jsem to samozrejme nemyslel
Myslenka je takova, ze vzhled formularu se navrhne v IDE a pak za behu se
zobrazi ruzne formulare v jednotlivych zalozkach (nebo i stejne s ruznymi
daty).
Pokud to staci v prostredi a ne pri behu programu,
pak staci CTRL+C a CTRL+V.
Petr
> Potrebuji nacist nektere komponenty - jejich vlastnosti ze souboru
form.dfm
> a umistit je na TTabSheet v jinem formulari.
> Poradte mi jak na to. Dik.
Odpovedá: Libor Junek, Medisoft International
25. 11. 2004 8:40
Na neco podobneho slouzi TFrame. Vytvori se vzhled primo na Frame a pak
pomoci property Parent (runtime) nebo pomoci inline v DFM (design) se
zobrazi kde je potreba.
Jinak primo cist z DFM za behu programu je (myslim) nemozne.
Libor
----- Original Message -----
From: "Jiri Bouchala" <bouchala@starmon.cz>
Sent: Thursday, November 25, 2004 8:28 AM
> Myslenka je takova, ze vzhled formularu se navrhne v IDE a pak za behu se
> zobrazi ruzne formulare v jednotlivych zalozkach (nebo i stejne s ruznymi
> daty).
Odpovedá: Petr Vetesnik
25. 11. 2004 8:42
Zdrojovy formular vytvorit jako TFrame a pak se da new a jako Owner
formular nebo treba TTabSheet.
Petr
> No tak jsem to samozrejme nemyslel
> Myslenka je takova, ze vzhled formularu se navrhne v IDE a pak za behu se
> zobrazi ruzne formulare v jednotlivych zalozkach (nebo i stejne s ruznymi
> daty).
>
Odpovedá: Martin Burle
25. 11. 2004 8:44
> Myslenka je takova, ze vzhled formularu se navrhne v IDE a pak za behu se
> zobrazi ruzne formulare v jednotlivych zalozkach (nebo i stejne s ruznymi
Zkus umistit komponenty na panel, vytvorit formular, nasledne panelu
nastavis jako parenta zalozku z jineho formulare. Formulare, ktere si
takto zobrazis na jednotlivych zalozkach musis pak samozrejme uvolnit pred
zavrenim hlavniho formu.
HTH,
MB
Odpovedá: Tomas Krejzek
25. 11. 2004 8:56
Na tohle ti doporucuju vytvorit vlastni tridu zalozek a ty si vzdy v
pozadovane chvili vytvorit, jen pak nezapomen priradit vlastnosti Parent
referenci na tvuj PageControl
Prece nebudes spolu s apklikaci vypoustet i dfm soubory.
Tom
>No tak jsem to samozrejme nemyslel
>Myslenka je takova, ze vzhled formularu se navrhne v IDE a pak za behu se
>zobrazi ruzne formulare v jednotlivych zalozkach (nebo i stejne s ruznymi
>daty).
>
>
Odpovedá: Zbysek Hlinka
25. 11. 2004 9:16
> -----Original Message-----
> From: delphi-l-owner@clexpert.cz
> [mailto:delphi-l-owner@clexpert.cz] On Behalf Of Jiri Bouchala
> Sent: Thursday, November 25, 2004 8:29 AM
>
> No tak jsem to samozrejme nemyslel
> Myslenka je takova, ze vzhled formularu se navrhne v IDE a
> pak za behu se zobrazi ruzne formulare v jednotlivych
> zalozkach (nebo i stejne s ruznymi daty).
Nacitani za behu ti asi moc nepomuze, pokud ti bude chybet provazanost s
kodem. Takze doporucuji Frame. Pokud bys ale na nacitani formulare trval,
pak si muzes koupit Lokalizator, k nemu jsou ke stahnuti kompletni zdrojaky,
a tam najdes jak na to. Je to docela opicarna a jsou s tim problemy,
pokud nemas zaregistrovane vsechny tridy, ktere formular pouziva.
S pozdravem
Zbysek Hlinka
E-mail: hlinka zavin. hlinka.cz
Phone: +420 603 551 282
Odpovedá: Pavel Poles
25. 11. 2004 13:25
No v zasade asi takhle:
TextStream := TMemoryStream.Create;
try
ReadStream( FileName, TextStream );
BinStream := TMemoryStream.Create;
try
BinStream.Seek( 0, soFromBeginning );
Reader := TReader.Create( BinStream, 4096 );
try
Reader.ReadRootComponent( Instance );
except
// nepovedlo se
end;
finally
Reader.Free;
end;
finally
BinStream.Free;
end;
finally
TextStream.Free;
end;
Instance by mel byt toho typu, ktery mas ulozeny v tom DFM
(takze asi TForm), nebo by mel mit stejny vlastnosti (co se tyce
pojmenovani), kdyz si to budes do toho DFM i sam ukladat tak
RootComponent muze byt co chces, Delphi takhle ukladaj jen
TForm a TFrame...
Ale mel by sis udelat sveho potomka TReader ktery bude resit
eventy (v Reader.onFindMethod). Jinak DFM jsou ulozeny nekde
v resourcich, takze je nemusis distribuovat primo s programem...
Pavel Poles
----- Original Message -----
From: "Jiri Bouchala" <bouchala@starmon.cz>
To: <delphi-l@clexpert.cz>
Sent: Thursday, November 25, 2004 8:28 AM
Subject: Re: Nacitani komponent z DFM souboru
> No tak jsem to samozrejme nemyslel
> Myslenka je takova, ze vzhled formularu se navrhne v IDE a pak za behu se
> zobrazi ruzne formulare v jednotlivych zalozkach (nebo i stejne s ruznymi
> daty).
>
> Pokud to staci v prostredi a ne pri behu programu,
> pak staci CTRL+C a CTRL+V.
>
> Petr
>
>> Potrebuji nacist nektere komponenty - jejich vlastnosti ze souboru
> form.dfm
>> a umistit je na TTabSheet v jinem formulari.
>> Poradte mi jak na to. Dik.
>
>
>
>
>